home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1999 Spring / macformat-077.iso / Shareware Plus / Development / SpriteWorld 2.2 Extra Demos / Brian's Demos / Extended Sprite Test / Extended SpriteTest.h < prev    next >
Encoding:
Text File  |  1998-03-17  |  2.9 KB  |  155 lines  |  [TEXT/CWIE]

  1. ///--------------------------------------------------------------------------------------
  2. // SpriteTest.h
  3. ///--------------------------------------------------------------------------------------
  4.  
  5.  
  6. #ifndef __SPRITETEST__
  7. #define __SPRITETEST__
  8.  
  9. #ifndef __MENUS__
  10. #include <Menus.h>
  11. #endif
  12.  
  13.  
  14. enum
  15. {
  16.     kBaseResID = 128,
  17.     kGlobeHeight = 48,
  18.     kGlobeBorderWidth = 1,
  19.     kNumberOfGlobeSprites = 4,
  20.     kNumberOfGlobeFrames = 30,
  21.     kGlobeSpriteMoveTime = 0,
  22.     kGlobeSpriteFrameTime = 20,
  23.     kTwoHeight = 50,
  24.     kTwoBorderWidth = 1,
  25.     kNumberOfTwoFrames = 10,
  26.     kBackDropPixPatID = 128,
  27.     kPerformanceAlertID = 200,
  28.     kSetUpTestResID = 400,
  29.     kTestTime = (30 * 60)
  30. };
  31.  
  32. typedef enum
  33.     kCopyBitsProc, 
  34.     kBlitPixieProc, 
  35.     kTranslucentDrawProc, 
  36.     kScaledDrawProc, 
  37.     kRotatedDrawProc, 
  38.     kLitDrawProc, 
  39.     kCompiledProc 
  40. }ProcType;
  41.  
  42. enum
  43. {
  44.     kCopyBitsSpriteButton = 4,
  45.     kBlitPixieSpriteButton,
  46.     kCompiledSpriteButton,
  47.     kTranslucentSpriteButton,
  48.     kScaledSpriteButton,
  49.     kRotatedSpriteButton,
  50.     kCopyBitsOffscreenButton = 11,
  51.     kBlitPixieOffscreenButton,
  52.     kCopyBitsScreenButton = 14,
  53.     kBlitPixieScreenButton,
  54.     kLitDrawScreenButton,
  55.     kRunTestNowCheckBox
  56. };
  57.  
  58. typedef struct SpriteTestRec SpriteTestRec;
  59. typedef SpriteTestRec *SpriteTestPtr, **SpriteTestHdl;
  60.  
  61.  
  62. struct SpriteTestRec
  63. {
  64.     SpriteWorldPtr spriteWorldP;
  65.     SpriteLayerPtr globeSpriteLayerP;
  66.     SpritePtr globeSpriteArray[kNumberOfGlobeSprites];
  67.     SpritePtr titleSpriteP;
  68.     SpritePtr twoSpriteP;
  69. };
  70.         
  71.  
  72. OSErr SetupSWStuff(
  73.     SpriteTestPtr* spriteTestP,
  74.     CWindowPtr srcWindowP);
  75.  
  76. void DisposeSWStuff(
  77.     SpriteTestPtr spriteTestP);
  78.  
  79. void SetupSpriteWorldElements(
  80.     SpriteTestPtr spriteTestP);
  81.  
  82. void SetupGlobeSprite(
  83.     SpritePtr testSpriteP,
  84.     Rect *moveBoundsRect,
  85.     short horizLocation,
  86.     short vertLocation);
  87.  
  88. void SpriteTestIdle(
  89.     SpriteTestPtr spriteTestP);
  90.  
  91. void UpdateSpriteTest(
  92.     SpriteTestPtr spriteTestP,
  93.     WindowPtr updateWindowP);
  94.  
  95. void HandleCreateSpriteCommand(
  96.     SpriteTestPtr spriteTestP);
  97.  
  98. void HandleSpriteTestTitleCommand(
  99.     SpriteTestPtr spriteTestP);
  100.  
  101. void HandleBouncingBallsCommand(
  102.     SpriteTestPtr spriteTestP);
  103.  
  104. void RemoveClickedSprite(
  105.     SpriteTestPtr spriteTestP);
  106.  
  107. void SetUpTestDialog(
  108.     SpriteTestPtr spriteTestP);
  109.  
  110. void SetSetUpTestButtons(
  111.     DialogPtr theDialog);
  112.     
  113. void SetupLightingForTest(
  114.     SpriteTestPtr spriteTestP);
  115.  
  116. void RunTheTest(
  117.     SpriteTestPtr spriteTestP);
  118.     
  119. void RestoreFromTest(
  120.     WindowPtr testWindowP,
  121.     SpriteTestPtr spriteTestP);
  122.     
  123. void DisplayPerformance(
  124.     long frames,
  125.     long seconds);
  126.     
  127. SW_FUNC void GlobeSpriteMoveProc(SpritePtr globeSpriteP);
  128.  
  129. SW_FUNC void PixelBounceCollideProc(
  130.     SpritePtr srcSpriteP,
  131.     SpritePtr dstSpriteP,
  132.     Rect* sectRect);
  133.     
  134. SW_FUNC void RegionBounceCollideProc(
  135.     SpritePtr srcSpriteP,
  136.     SpritePtr dstSpriteP,
  137.     Rect* sectRect);
  138.  
  139. SW_FUNC void RadiusBounceCollideProc(
  140.     SpritePtr srcSpriteP,
  141.     SpritePtr dstSpriteP,
  142.     Rect* sectRect);
  143.  
  144. void BounceGlobeOffGlobe(
  145.     SpritePtr srcSpriteP,
  146.     SpritePtr dstSpriteP);
  147.  
  148. void BounceGlobeOffTitle(
  149.     SpritePtr titleSpriteP,
  150.     SpritePtr globeSpriteP,
  151.     Rect* sectRect);
  152.     
  153.  
  154. #endif    /* __SPRITETEST__ */